/**
 * AI助手页面JavaScript功能
 */

// DOM加载完成后执行
document.addEventListener('DOMContentLoaded', function() {
    // 初始化聊天界面
    initChatInterface();
    
    // 初始化建议问题点击事件
    initSuggestions();
    
    // 初始化反馈轮播
    initFeedbackSlider();
});

/**
 * 初始化聊天界面
 */
function initChatInterface() {
    const messageInput = document.getElementById('message-input');
    const sendButton = document.getElementById('send-button');
    const chatMessages = document.getElementById('chat-messages');
    
    // 自动调整输入框高度
    messageInput.addEventListener('input', function() {
        this.style.height = 'auto';
        this.style.height = (this.scrollHeight) + 'px';
        
        // 启用/禁用发送按钮
        sendButton.disabled = this.value.trim() === '';
    });
    
    // 发送按钮点击事件
    sendButton.addEventListener('click', function() {
        sendMessage();
    });
    
    // 输入框回车发送
    messageInput.addEventListener('keydown', function(e) {
        if (e.key === 'Enter' && !e.shiftKey) {
            e.preventDefault();
            if (!sendButton.disabled) {
                sendMessage();
            }
        }
    });
    
    // 滚动到底部
    scrollToBottom();
}

/**
 * 初始化建议问题点击事件
 */
function initSuggestions() {
    const suggestionItems = document.querySelectorAll('.suggestion-item');
    
    suggestionItems.forEach(item => {
        item.addEventListener('click', function() {
            const query = this.getAttribute('data-query');
            if (query) {
                const messageInput = document.getElementById('message-input');
                messageInput.value = query;
                messageInput.dispatchEvent(new Event('input'));
                sendMessage();
            }
        });
    });
}

/**
 * 初始化反馈轮播
 */
function initFeedbackSlider() {
    // 这里可以添加轮播功能，但由于是静态演示，暂不实现
    console.log('反馈轮播初始化');
}

/**
 * 发送消息
 */
function sendMessage() {
    const messageInput = document.getElementById('message-input');
    const chatMessages = document.getElementById('chat-messages');
    const message = messageInput.value.trim();
    
    if (message === '') return;
    
    // 添加用户消息
    addUserMessage(message);
    
    // 清空输入框
    messageInput.value = '';
    messageInput.style.height = 'auto';
    messageInput.focus();
    
    // 禁用发送按钮
    document.getElementById('send-button').disabled = true;
    
    // 显示AI正在输入指示器
    showTypingIndicator();
    
    // 模拟AI响应延迟
    setTimeout(() => {
        // 移除输入指示器
        removeTypingIndicator();
        
        // 添加AI回复
        const aiResponse = getAIResponse(message);
        addAIMessage(aiResponse);
    }, 1000);
}

/**
 * 添加用户消息
 * @param {string} message - 用户消息内容
 */
function addUserMessage(message) {
    const chatMessages = document.getElementById('chat-messages');
    
    const messageElement = document.createElement('div');
    messageElement.className = 'message user-message';
    
    messageElement.innerHTML = `
        <div class="message-content">
            <p>${message}</p>
        </div>
        <div class="message-avatar">
            <img src="../static/avatar-default.png" alt="用户">
        </div>
    `;
    
    chatMessages.appendChild(messageElement);
    scrollToBottom();
}

/**
 * 添加AI消息
 * @param {string} message - AI消息内容
 */
function addAIMessage(message) {
    const chatMessages = document.getElementById('chat-messages');
    
    const messageElement = document.createElement('div');
    messageElement.className = 'message ai-message';
    
    messageElement.innerHTML = `
        <div class="message-avatar">
            <img src="../static/avatar1.png" alt="AI助手">
        </div>
        <div class="message-content">
            <p>${message}</p>
        </div>
    `;
    
    chatMessages.appendChild(messageElement);
    scrollToBottom();
}

/**
 * 显示AI正在输入指示器
 */
function showTypingIndicator() {
    const chatMessages = document.getElementById('chat-messages');
    
    const indicatorElement = document.createElement('div');
    indicatorElement.className = 'message ai-message typing-indicator-container';
    indicatorElement.id = 'typing-indicator';
    
    indicatorElement.innerHTML = `
        <div class="message-avatar">
            <img src="../static/avatar1.png" alt="AI助手">
        </div>
        <div class="message-content typing-indicator">
            <div class="typing-dot"></div>
            <div class="typing-dot"></div>
            <div class="typing-dot"></div>
        </div>
    `;
    
    chatMessages.appendChild(indicatorElement);
    scrollToBottom();
}

/**
 * 移除AI正在输入指示器
 */
function removeTypingIndicator() {
    const indicator = document.getElementById('typing-indicator');
    if (indicator) {
        indicator.remove();
    }
}

/**
 * 滚动到聊天底部
 */
function scrollToBottom() {
    const chatMessages = document.getElementById('chat-messages');
    chatMessages.scrollTop = chatMessages.scrollHeight;
}

/**
 * 获取AI响应
 * @param {string} userMessage - 用户消息
 * @returns {string} - AI响应内容
 */
function getAIResponse(userMessage) {
    // 简单的关键词匹配响应
    const message = userMessage.toLowerCase();
    
    if (message.includes('你好') || message.includes('您好')) {
        return '你好！很高兴为你服务。有什么关于支教的问题我可以帮你解答吗？';
    } 
    else if (message.includes('如何申请支教') || message.includes('怎么申请')) {
        return '申请支教的步骤如下：<br>1. 在首页或支教需求页面浏览并找到合适的支教项目<br>2. 点击"申请组队"按钮<br>3. 填写您的联系方式和申请说明<br>4. 提交申请后等待审核<br>5. 您可以在"我的申请"中查看申请状态';
    }
    else if (message.includes('支教条件') || message.includes('需要什么条件')) {
        return '支教的基本条件包括：<br>1. 年满18周岁<br>2. 身体健康<br>3. 有责任心和爱心<br>4. 具备相关教学能力或专业知识<br>5. 能够适应当地生活环境<br>不同的支教项目可能有特定的要求，建议查看具体项目的详细说明。';
    }
    else if (message.includes('发布') || message.includes('创建需求')) {
        return '发布支教需求的步骤：<br>1. 登录您的账号<br>2. 点击首页右下角的"发布支教需求"按钮<br>3. 填写需求详情，包括学校名称、地点、需求科目、人数等信息<br>4. 提交后等待管理员审核<br>5. 审核通过后，您的需求将显示在平台上';
    }
    else if (message.includes('组队') || message.includes('加入团队')) {
        return '您可以通过以下方式加入支教团队：<br>1. 在首页或支教需求页面找到感兴趣的项目<br>2. 点击"申请组队"按钮<br>3. 填写您的联系方式和申请说明<br>4. 提交申请后，项目发布者会收到您的申请<br>5. 如果申请通过，您将收到通知并可以与团队取得联系';
    }
    else if (message.includes('你是谁') || message.includes('你叫什么')) {
        return '我是朋知AI助手，是朋知云学平台的智能问答系统。我可以回答您关于支教的各种问题，提供个性化推荐，并帮助您更好地使用平台。有什么我可以帮您的吗？';
    }
    else {
        return '抱歉，我暂时无法理解您的问题。您可以尝试询问关于支教申请、条件要求、发布需求或组队等相关问题，或者联系客服获取更多帮助。';
    }
}